Dynamic program updating: A software maintenance technique for minimizing software, downtime
نویسندگان
چکیده
SUMMARY When a new version of a sonware system is created, the current version of the system must be shut down while the new version is installed, resulting in software 'downtime'. There are application domains where such downtime is undesirahle if not wholly unacceptable. A dynamic program updating system replaces, or updates, a computer program with a new version while the program continues to run. A dynamic program updating system for programs written in conventional procedural languages such as Pascal and C is described. The proposed system updates programs without causing substantial performance degradation and requires minimal user intervention to initiate the update. A fully functional prototype updating system is presented and a sample program, namely an internet packet router called the 'Packet Pumper', is updated. The performance of the updating system and the Packet Pumper is discussed. Software maintenance research has traditionally addressed the question 'What can researchers, softwarc engineers, programmers and managers do to make programs more adaptable to the changing environments in which they must exist?' Adaptability (and thus maintainability) encompasses many issues including good initial program design, well-written program code, powerful development and maintenance tools, adequate documentation , and supportive management to encourage proper use of these resources. One question that has not been given substantial attention in the software maintenance literature is 'Having used the available software maintenance tools to enhance a program, ' 'Environment' encompasses both the tasks that the program must perform and the interactions with other (possibly rcal-world) entities.
منابع مشابه
A Technique for Dynamic Updating of Java Software
During maintenance, systems are updated to correct faults, improve functionality, and adapt the software to changes in its execution environment. The typical softwareupdate process consists of stopping the system to be updated, performing the update of the code, and restarting the system. For systems such as banking and telecommunication software, however, the cost of downtime can be prohibitiv...
متن کاملA Kitsune: Efficient, General-purpose Dynamic Software Updating for C
Dynamic software updating (DSU) systems facilitate software updates to running programs, thereby permitting developers to add features and fix bugs without downtime. This paper introduces Kitsune, a DSU system for C. Kitsune’s design has three notable features. First, Kitsune updates apply to the whole program, rather than individual functions. This approach is more flexible than most prior app...
متن کاملVerifying the Design of Dynamic Software Updating in the OTS/CafeOBJ Method
Dynamic Software Updating (DSU) is a technique for updating running software systems without incurring downtime. However, a challenging problem is how to design a correct dynamic update so that the system after being updated will run as expected instead of causing any inconsistencies or even crashes. The OTS/CafeOBJ method is an effective and practical approach to specifying and verifying the d...
متن کاملAutomating Object Transformations for Dynamic Software Updating
Dynamic software updating (DSU) systems eliminate costly downtime by dynamically fixing bugs and adding features to executing programs. Given a static code patch, most DSU systems can construct the run-time code changes automatically. However, a dynamic update must also specify how to change the running program’s execution state, e.g., its stack and heap, to be compatible with the new code. Con...
متن کاملAutomated Recommendation of Dynamic Software Update Points
Due to the demand for bugs fixing and features enhancements, developers inevitably need to update in-use software systems. Instead of shutting down a running software before updating, it is often desirable and sometimes mandatory to patch the running software system on the fly, with a mechanism generally referred as dynamic software updating (DSU). Practical DSU strategies often require manual ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Journal of Software Maintenance
دوره 1 شماره
صفحات -
تاریخ انتشار 1989